package com.dotstone.chipism.activity;

import java.util.ArrayList;
import java.util.List;

import com.dotstone.chipism.R;
import com.dotstone.chipism.adapter.SceneAdapter;
import com.dotstone.chipism.bean.Scene;
import com.dotstone.chipism.util.DeviceManager;
import com.dotstone.chipism.util.ShareManager;
import com.dotstone.chipism.view.BlurBehind;
import com.dotstone.chipism.view.OnBlurCompleteListener;
import com.dotstone.chipism.view.slidingfragmenu.BarUtils;

import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.TextView;

public class EnvAuthorActivity extends BaseActivity {
	private LinearLayout mBackL;
	private Button mNextB;
	private ListView mEnvL;
	private TextView tv_statusBar_mian;
	private List<Scene> mScenes = new ArrayList<Scene>();
	private List<Scene> mSelects  =new ArrayList<Scene>();
	private SceneAdapter mAdapter ;

	@Override
	public void widgetClick(View v) {
		// TODO Auto-generated method stub
		switch (v.getId()) {
		case R.id.back_layout:
			finish();
			break;
		case R.id.nextstep:
			for(int i = 0;i<mScenes.size();i++){
				if(mScenes.get(i).isSelect()){
					mSelects.add(mScenes.get(i));
					Log.i("wmy", "添加场景"+mScenes.get(i).getSceneName());
				}
			}
			ShareManager.getInstance().setmScenes(mSelects);
			BlurBehind.getInstance().execute(MainActivity.mainActivity,
					new OnBlurCompleteListener() {
						@Override
						public void onBlurComplete() {
							Intent intent = new Intent(EnvAuthorActivity.this,
									DeviceAuthorActivity.class);
							intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
							startActivity(intent);
							finish();
						}
					});
		
			break;

		default:
			break;
		}
	}

	@Override
	public void initParms(Bundle parms) {
		// TODO Auto-generated method stub

	}

	@Override
	public View bindView() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int bindLayout() {
		// TODO Auto-generated method stub
		return R.layout.activity_env_author;
	}

	@Override
	public void initView(View view) {
		// TODO Auto-generated method stub
		BlurBehind.getInstance()
//		.withAlpha(100)
////				.withFilterColor(Color.parseColor("#000000"))
				.setBackground(this);
		tv_statusBar_mian = $(R.id.tv_statusBar_mian);
		mBackL = $(R.id.back_layout);
		mNextB = $(R.id.nextstep);
		mNextB.setVisibility(View.VISIBLE);
		mEnvL = $(R.id.env_lv);
		boolVersion();
		mBackL.setOnClickListener(this);
		mNextB.setOnClickListener(this);
		mEnvL.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int n,
					long arg3) {
				// TODO Auto-generated method stub
				mScenes.get(n).setSelect(!mScenes.get(n).isSelect());
				mAdapter.notifyDataSetChanged();
			}
		});
		initData();
	}

	private void initData() {
		// TODO Auto-generated method stub
		mScenes = DeviceManager.getInstance().getScenes();
		for(int i = 0;i<mScenes.size();i++){
			mScenes.get(i).setSelect(false);
		}
		mAdapter = new SceneAdapter(getApplicationContext(), mScenes);
		mEnvL.setAdapter(mAdapter);
	}

	@Override
	public void setListener() {
		// TODO Auto-generated method stub

	}

	@Override
	public void doBusiness(Context mContext) {
		// TODO Auto-generated method stub

	}

	public void boolVersion() {
		if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {

			Window window = getWindow();
			window.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS,
					WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
			// 透明导航栏
//			getWindow().addFlags(
//					WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
			// 改变titlebar的高度
			int statusbarHeight = BarUtils.getStatusBarHeight(this);
			RelativeLayout.LayoutParams layoutParams1 = (RelativeLayout.LayoutParams) tv_statusBar_mian
					.getLayoutParams();
			layoutParams1.height = statusbarHeight;
			tv_statusBar_mian.setLayoutParams(layoutParams1);
			tv_statusBar_mian.setVisibility(View.VISIBLE);

		} else {
			tv_statusBar_mian.setVisibility(View.GONE);
		}
	}

}
